import request from '@/utils/request'

/**
 * 获取对话列表
 * 从服务器获取用户的所有对话记录
 * @returns {Promise} - 返回包含对话列表的 Promise 对象
 */
export function getConversations() {
  return request({
    url: '/aiService/chat/conversations',
    method: 'get'
  })
}

/**
 * 获取对话消息历史
 * 获取指定对话ID的所有消息记录
 * @param {number} conversationId - 对话ID
 * @returns {Promise} - 返回包含消息历史的 Promise 对象
 */
export function getMessageHistory(conversationId) {
  return request({
    url: `/aiService/chat/history/${conversationId}`,
    method: 'get'
  })
}

/**
 * 创建新对话
 * 在服务器上创建一个新的对话
 * @param {string} title - 对话标题
 * @returns {Promise} - 返回包含新对话信息的 Promise 对象
 */
export function createConversation(title) {
  return request({
    url: '/aiService/chat/newConversation',
    method: 'post',
    data: { title }
  })
}

/**
 * 删除对话
 * 删除指定ID的对话记录
 * @param {number} conversationId - 要删除的对话ID
 * @returns {Promise} - 返回删除操作结果的 Promise 对象
 */
export function deleteConversation(conversationId) {
  return request({
    url: `/aiService/chat/delConversation/${conversationId}`,
    method: 'delete'
  })
}

/**
 * 发送消息
 * 向AI发送消息并获取响应
 * @param {Object} data - 消息数据
 * @param {string} data.message - 消息内容
 * @param {number} data.conversationId - 对话ID
 * @returns {Promise} - 返回AI响应的 Promise 对象
 */
export function sendMessage(data) {
  return request({
    url: '/aiService/chat/sendMessage',
    method: 'post',
    data,
    timeout: 30000  // 设置30秒超时
  })
} 